In a conventional network switch node configuration as described in non-patent literature 1, a CPU (central processing unit), a TCP/IP (transmission control protocol/internet protocol) stack and a network driver are inevitably involved with an interaction between a network switch node and a control server. Accordingly, the load of processing in the control by using the CPU, such as protocol processing, is large, making it hard to perform a high-speed control.
Also, since the interaction between the network switch node and the control server is achieved by once using a network protocol, the function of enabling control of a forwarding engine of the switch node from the server is limited to a prescribed protocol. Accordingly, the function is limited to, for example, setting of a table, and a complex protocol is further necessary for achieving a control with fine grading, such as register setting; this causes a problem of large processing load.
[Conventional System Configuration]
FIG. 1 shows a conventional system configuration in which an extended network service is executed on a control server.
In the conventional system configuration, a switching node 10 includes a network switch forwarding engine 100, a PCI express switch 200, a CPU 300, a memory 350 and an equipment management device 400.
The network switch forwarding engine 100 forwards frames received from terminals 1 to 3. The PCE express switch 200 interfaces frames and control commands between the network switch forwarding engine 100 and the CPU 300. The PCI express switch 200 may be incorporated within the network switch forwarding engine 100.
It should be noted that the PDU (protocol data unit) used in the communication in the second layer of the OSI reference model (Layer 2: data link layer) is referred to as frame, and the PDU used in the communication in the third layer of the OSI reference model (Layer 3: network layer) is referred to as packet. Hereinafter, the frame is defined as carrying a packet. In other words, the frame and the packet are interchangeable.
The CPU 300 performs conventional network services, device controls and the like. Also, when performing an extended network service, the CPU 300 uses a network protocol and cooperates with the server 20 via an interface (I/F) called “PCI express”, which is used for a connection with the network switch forwarding engine 100.
Here, the CPU 300 is connected to the network switch forwarding engine 100 via the PCI express switch 200. The network switch forwarding engine 100 is connected to the control server 20 via a LAN (local area network) interface (I/F).
It should be noted that examples of the conventional network services may include conventional frame transfer, packet exchange (switching), routing, and control and configuration of the switching node 10. Also, examples of the extended network service may include externally-achieved routing control, firewall processing and load balancing. It should be noted that actual implementations are not limited to these examples.
The memory 350 stores data to be processed by the CPU 300.
The equipment management device 400 performs control and management of the switching node 10. The equipment management device 400 is not a processor such as a CPU. In the conventional system configuration, the equipment management device 400 is controlled by the CPU 300.
[Configuration of CPU on Conventional Itching Node]
Referring to FIG. 2, a configuration example of the CPU on the conventional switching node is described below. As shown in FIG. 2, the CPU 300 includes a hardware system 310, an operating system 320 and a network protocol 330 in the conventional switching node.
The hardware system 310 includes a PCI express root complex 301 and a local bus control section 302.
The PCI express root complex 301 is provided for achieving communications with the network switch forwarding engine 100. The PCI express root complex 301 is a PCI express device and functions as a root complex.
The local bus control section 302 is provided for achieving communications with the equipment management device 400.
The operating system 320 includes a PCI DMA control module 321, a forwarding engine driver 322, a sorting priority control module 323, a network driver 324 and a TCP/IP stack 325.
The PCI DMA control module 321 uses a PCI express device and thereby performs DMA (direct memory access) transfer control for the network switch forwarding engine 100. The forwarding engine driver 322 is provided for achieving control of the network switch forwarding engine 100 via the PCI express. Here, the forwarding engine driver 322 uses the PCI DMA control module 321. The PCI DMA control module 321 may be implemented as one of the functions of the forwarding engine driver 322.
The sorting priority control module 323 performs sorting and priority control processing on received frames for performing any of processes related to conventional network services and processes related to extended network services.
The network driver 324 is provided to transmit and receive frames via a LAN interface (10G MAC) 104. The TCP/IP stack 325 is provided for achieving protocol communications with the control server 20.
The network protocol 330 includes: a packet interfacing module 331, a conventional network service processing module 332, a packet interfacing module 333, a packet buffering module 334, a service processing inquiry circuitry 335, an encryption circuitry 336, an extended network service configuration module 337, and an equipment management control service processing module 338.
The packet interfacing modules 331 and 332 exchange frames with the network switch forwarding engine 100 by using the forwarding engine driver 322. Here, the packet interfacing modules 331 and 333 use the forwarding engine driver 322 and the PCI DMA control module 321 to perform DMA transfer control for the network switch forwarding engine 100. Also, the packet interfacing modules 331 and 333 convert frames received from the sorting priority control module 323 into a packet format.
When performing a process related to a conventional network service on a received frame, the sorting priority control module 323 conventionally transmits the received frame to the packet interfacing module 331.
When performing a process related to an extended network service on a received frame, on the other hand, the sorting priority control module 323 conventionally transmits the received frame to the packet interfacing module 333.
Furthermore, the sorting priority control module 323 performs the sorting and priority control processing for both of packets based on the conventional network service and packets based on the extended network service, and transmits the packets to the network switch forwarding engine 100 by using the forwarding engine driver 322.
The conventional network service processing module 332 controls the network forwarding engine 100 by using the PCI express. Here, the conventional network service processing module 332 performs a process related to a conventional service protocol on packets received from the packet interfacing module 331. The packet interfacing module 331 converts packets received from the conventional network service processing module 332 into a frame format, and transmits the frames to the network switch forwarding engine 100 by using the forwarding engine driver 322.
The packet buffering module 334 is provided for temporal buffering of packets received from the packet interfacing module 333 in waiting control from the control server 20. The service processing inquiry circuitry 335 is provided for making inquiries to the control server 20. The encryption circuitry 336 is provided for performing encryption and decryption in making inquiries to the control server and responding to the inquiry results. The extended network service configuration module 337 is provided for configuring the network switch forwarding engine 100 via the PCI express in response to the results of the inquiries to the control server 20.
The equipment management control service processing module 338 controls the equipment management device 400 by using the local bus control section 302 for device control in the switching node 10.
As thus described, in the conventional system configuration, the process related to the extended network service performed on the external control server 20, the process related to the conventional network service processing executed on local and the equipment management control service processing are executed on the operating system on the CPU 300.
It should be noted that, on the conventional switching node 10, the CPU 300 exchanges control frames with the control server 20 via the network switch forwarding engine 100 by using the TCP/IP stack 325, the network driver 324 and the forwarding engine driver 322, since the PCI express is available only for the internal control when performing the extended network service using the external control server 30.
[Conventional Configuration of Control Server]
FIG. 3 shows a configuration example of the conventional control server 20. As shown in FIG. 3, the control server 20 include a network interface 500 and a CPU 600.
The network interface 500 includes a LAN interface (10G MAC) 501 and a PCI express endpoint 502.
The LAN interface (10G MAC) 501 is provided for achieving communications with the switching node 10.
The PCI express endpoint 502 is provided for achieving communications with the CPU 600. The PCI express endpoint 502 is a PCI express device and functions as an endpoint.
The CPU 600 includes a hardware system 610, an operating system 620 and a network protocol 630.
The hardware system 610 includes a PCI express root complex 601.
The PCI express root complex 601 is provided for achieving communications with the network interface 500. The PCI express root complex 601 is a PCI express device and functions as a root complex.
The operating system 620 includes a network driver 621 and a TCP/IP stack 622.
The network driver 621 controls the network interface 500. The TCP/IP stack 622 is provided for achieving communications with the switching node 10.
The network protocol 630 includes a packet interfacing module 631, an encryption circuitry 632 and an extended network service processing module 633.
The packet interfacing module 631 exchanges frames with the switching node 10 in a packet format. The encryption circuitry 632 performs encryption and decryption when the packet interfacing module 631 transmits and receives frames. The extended network service processing module 633 provides services and protocols to be executed on the control server.
In the conventional system configuration, the CPU 600 receives control frames from the network switch forwarding engine 100 via the network interface 500. On the CPU 600, the control frames are delivered to the extended network service processing module 633 through the TCP/IP stack 622 and the network driver 621, which are used for receiving the control frames.
In the conventional system configuration, as described above, the CPU, the TCP/IP stack and the network driver on the network switch node are inevitably involved with an interaction between a network switch node and a control server, and this causes a large processing load in performing control, such as protocol processing, making it difficult to achieve high-speed control.
Also, since the interaction between the network switch node and the control server is achieved by once using a network protocol, the function of enabling control of a forwarding engine of the switch node from the server is limited to a prescribed protocol. The function is limited to, for example, setting of a table, and therefore a complex protocol is further necessary for achieving a control with fine grading, such as register setting. This causes the problem of the large processing load.
It should be noted that Japanese Patent Application Publication No. 2005-317021 A (patent literature 1) refers to the PCI express. For example, the topology of a PCI express contained in a computing device includes a host bridge and several endpoints (that is, I/O devices) in addition to a CPU and a memory. The connection among a plurality of points is achieved by a switch.
As a related art, an information processing device, a service publication method and a program are also disclosed in Japanese Patent Application Publication No. 2006-202210 A (patent literature 2). In this related art, an UPnP device advertises its own existence for an UPnP control point in accordance with the SSDP (simple service discovery protocol) and publishes a device description and a service description described in the XML format. The UPnP control point discovers the UPnP device and services in accordance with the SSDP, and controls the action of each service with a call based on SOAP. The changes in the state of the UPnP services are notified to UPnP control points which subscribe an event notification based on GENA.
Also, as another related art, a switch and a network bridge device are disclosed in Japanese Patent Application Publication No. 2007-219873 A (patent literature 3). In this related art, a root complex receives commands from a CPU and performs forwarding for peer-to-peer communications between the CPU and peripheral devices and peer-to-peer communications between a memory and the peripheral devices. Here, the communications between the root complex and the peripheral devices are achieved by using packets of the PCI express (that is, TLPs (transaction layer packets)).